How to process OCL Abstract Syntax Trees
نویسنده
چکیده
The Model Development Tools Object Constraint Language (MDT OCL) project provides the building blocks for Model-Driven tools to weave OCL declarative specifications into software artifacts. We showcase some of these possibilities, taking as starting point a plug-in to visualize OCL abstract syntax trees (ASTs) in the form of annotated trees. This example motivates some practical tips about patterns for OCL visitors, including using Java 5 generics and achieving conciseness by letting MDT OCL take care of the "walking" order. To really reap the benefits of OCL-enriched specifications, tools in our modeling chain have to be able to transform such expressions into the target software platform (e.g. compile into Java, translate into SQL). Work in this area is summarized, to ease jump-starting your own OCL processing project.
منابع مشابه
YAAB (Yet Another AST Browser): Using OCL to Navigate ASTs
In the last decades several tools and environments defined and introduced languages for querying, navigating and transforming abstract syntax trees. These environments were meant to support software maintenance, reengineering and program comprehension activities. Instead of introducing a new language, this paper proposes to adopt the Object Constraint Language (OCL) to express queries over an o...
متن کاملModel Transformation From VisualOCL to OCL Using Graph Transformation
In this paper we present a model transformation from a visual representation (VisualOCL) of the Object Constraint Language (OCL) to the textual one using graph transformation. Starting from VisualOCL diagrams, we show how their underlying abstract syntax can be modeled by typed attributed graphs and converted into an OCL string representation using graph transformation rules.
متن کاملThesis for the Degree of Doctor of Philosophy Formal and Informal Software Specifications
The topic of this thesis is to bridge the gap between formal and informal software specifications. Formal specifications are required for the use of formal methods to verify the correctness of software. If we expect formal methods to be used in realistic software development projects, we need to enable people with varying levels of familiarity with formal specification languages to understand, ...
متن کاملOn formalizing UML and OCL features and their employment to runtime verification
Model-driven development (MDD) has been identified as a promising approach for developing software. By using abstract models of a system and by generating parts of the system out of these models, one tries to improve the efficiency of the overall development process and the quality of the resulting software. In the context of MDD the Unified Modeling Language (UML) and its related textual Objec...
متن کاملProblems and Enhancements of the Embedding of OCL into QVT ImperativeOCL
MOF QVT introduces ImperativeOCL as an imperative language for operational descriptions of model transformations (QVT operational mappings). ImperativeOCL extends conventional OCL by expressions with side-effects. A couple of semantical problems arise from the way OCL is embedded into ImperativeOCL – imperative expressions are modelled as a subtype of OCL expressions. This paper points out thes...
متن کامل